package learning.spring.helloworld;

import org.springframework.beans.factory.DisposableBean;

import javax.annotation.PreDestroy;


/**
 * bean实现 DisposableBean 接口，Disposable: “一次性的；可丢弃的”，这里应该是“可销毁的”
 */
public class Hello implements DisposableBean {
    public String hello() {
        return "Hello World!";
    }

    // DisposableBean 接口定义的方法
    @Override
    public void destroy() throws Exception {
        System.out.println("this bean destroy()");
    }

    /**
     * 该方法是在xml中“destroy-method”属性指定的销毁方法
     */
    public void close() {
        System.out.println("close()");
    }

    /**
     * 使用@PreDestroy注解，指定销毁方法
     */
    @PreDestroy
    public void shutdown() {
        System.out.println("shutdown()");
    }
}
